##li=[]#空列表
##print(type(li))

'''
li=[1234,'abcd',12.45]
print(type(li))
print("正索引")
print(li[0])
print(li[1])
print(li[2])

print("负索引")
print(li[-1])
print(li[-2])
print(li[-3])
'''
'''
li=[1234,'abcd',12.45]
print(li.index("abcd"))
print(li.index(12.45))
'''
'''
#从列表中获取多个元素，我们通过切片

li=[1,2,3,4,5,6,7,8,9]

print(li[0:3:1])
#[1, 2, 3]
#我们这里只获取了1，1，2这三个元素，没有获取到4
#但是4的索引值是3啊
#为什么我们没有获取到呢？

#因为我们在取这个范围的元素的时候，我们是不包含这个结束索引指向的元素的

print(li[:3])

#步长的使用
#现在我们想获取1 3 5 7 9
#我们是可以通过步长进行获取的
print(li[:8:2])

#[1, 3, 5, 7]

#但是我们这里仅仅获取到了7，并没有拿到结束索引值指向的9
print(li[:9:2])

#[1, 3, 5, 7, 9]

#但是我们将这个结束索引值进行增加我们就拿到了最后的那个值9

#这里的步长就是元素与元素之间的间隔大小，我们这里的是2

#我们使用切片的时候结束索引超出了是没问题的
#但是我们直接使用索引的话，索引超出了范围是会报错的


print(li[::2])
#我们这里的话不写开头和结尾的索引值的话，我们也是能拿到这个列表中满足步长为2的元素的
#[1, 3, 5, 7, 9]


#现在我们想获取1 3 4 6
#这种就没有什么规律了，那么我们怎么进行获取呢？
#但是分开看的话，1和3分隔2，4和6分隔2
#我们可以使用加号进行拼接，列表+列表是拼接，字符串+字符串是拼接
print(li[0:3:2])#通过这个我们能拿到[1, 3]
print(li[3:6:2])#通过这个我们拿到了[4, 6]

#那么我们现在如何进行拼接操作呢？
print(li[0:3:2]+li[3:6:2])#因为列表+列表是拼接，那么我们将两个获取到的直接进行相加
'''
'''

li=['苹果']
#append直接在列表的尾部进行元素的插入的    就是追加
li.append("香蕉")
print(li)
#['苹果', '香蕉']
li.append("西瓜")
print(li)
['苹果', '香蕉', '西瓜']


#现在我想将桃子查到香蕉的前面
li.insert(1,"桃子")
print(li)
#['苹果', '桃子', '香蕉', '西瓜']
#这里的元素索引就是我们要插入的位置的后面的那个元素的索引
#我们使用insert将元素插入到我们想要的元素的前面


li.extend("飞机")
print(li)
#['苹果', '桃子', '香蕉', '西瓜', '飞', '机']
#我们这里的飞机从一个元素变成了两个元素

#其实extend的作用是将序列拆开，一个内容为一个元素进行添加
#而且我们这里非要在里面添加序列类型
#不能是数字，一定要是序列类型
#序列类型是可以迭代的，但是整型是不可以的
#li.extend(12)，这种写法就会报错

#extend后面能添加的序列类型有：字符串、列表、元组
#数字整型浮点型是不能写入括号的


li.extend(li)
print(li)
#['苹果', '桃子', '香蕉', '西瓜', '飞', '机', '苹果', '桃子', '香蕉', '西瓜', '飞', '机']
'''
'''
li=['苹果', '桃子', '香蕉', '西']
#现在我们想将西这个字符进行修改，修改为“西瓜”
li[-1]="西瓜"
print(li)
#['苹果', '桃子', '香蕉', '西瓜']

print(li.index("西瓜"))

#如果我们现在想将桃子改成飞机，但是我们不知道桃子在哪里
#我们使用index进行查找
print(li.index("桃子"))
li[li.index("桃子")]="飞机"
print(li)

#1   桃子的索引值
#['苹果', '飞机', '香蕉', '西瓜']

print(len(li))
#4
li.count

print(li.count("西瓜"))
#1

li2=[1,5,6,8,9,1,20,56]

print(max(li2))
print(min(li2))
#56
#1
'''
'''
li=[1,2,3,4,5,1,2,3,4,5]
li.remove(5)
print(li)
#[1, 2, 3, 4, 1, 2, 3, 4, 5]

#将4删除（如果存在多个的话我们只能删除最前面的）
li.pop(li.index(4))
print(li)
#[1, 2, 3, 1, 2, 3, 4, 5]
li.pop()
print(li)#我们这里没有指定索引，那么就是删除最后一个
#[1, 2, 3, 1, 2, 3, 4,]






li1=[1,2,3,4,5,1,2,3,4,5]
li1.clear()
print(li1)
#[]
'''
'''
li=[1,5,6,8,4,1,5,46,5]
li.sort()
print(li)
#[1, 1, 4, 5, 5, 5, 6, 8, 46]
li.reverse()
print(li)
#[46, 8, 6, 5, 5, 5, 4, 1, 1]
'''
'''
li=[1, 1, 4, 5, 5, 5, 6, 8, 46]
li.sort(reverse=True)
print(li)
#[46, 8, 6, 5, 5, 5, 4, 1, 1]


li3=sorted(li,reverse=False)#这里默认是升序的
print(li3)
'''
'''
li=[[12,"小明"],[13,"小红"],[15,"凯子"]]
for i in li:#这个循环后面的序列
    print(i)#每次打印列表中的一个元素

#我们现在想要获取小明怎么写代码呢？
print(li[0][1])
#小明

'''
'''
t=(1,2,3,4,5)
print(type(t))
t1=(12)
#<class 'tuple'>
print(type(t1))
#<class 'int'>
t2=(12,)
print(type(t2))
#<class 'tuple'>
#如果只在元组只存在一个元素的时候，如果我们括号内只有一个元素的话
#那么我们打印这个元组的类型就是这个唯一一个元素的类型
#为了表示出这个是元组，我们需要在这个数据的后面加上逗号,
#加上了逗号就表示出这个类型是元组
'''
'''
t=(1,2,3,4,5)

#现在我想要获取最后一个元素
print(t[-1])#索引
#5


#切片
#序列[开始索引:结束索引:步长]
print(t[::2])
#(1, 3, 5)


li=list(t)
print(type(li))
#<class 'list'>
#那么现在的li就是列表的类型了

#我们现在需要将第一个元素1改为字符1

li[0]='12'
t=tuple(li)
print(t)
#('12', 2, 3, 4, 5)
'''

#拆包的过程：将元组拆开，将里面的元素分配给左边的变量
a,b,c=(1,2,3)
print(a,b,c,sep="\n")

#而且我们在拆包的过程中我们需要保证元祖中元素的个数和左边变量的个数要达到一致
#不然是会匹配不上从而出现报错

#元素个数和变量个数要一致，拆包的顺序也是从左到右

a,b,*c=(1,2,3,4,5)
print(a,b,c,sep="\n")
'''
1
2
[3, 4, 5]

'''




















